﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using PccCommonForC;

public partial class Manager_Catalogue_Catalogue : System.Web.UI.Page
{
    protected string pDel_mk = "", pUpd_mk = "";
    protected void Page_Load(object sender, EventArgs e)
    {

        if (Session["AdminUserID"] == null)
        {
            Response.Write("<script language=javascript>alert('Time is out.');window.open('../Default.aspx','_top');</script>");
            return;
        }
        clsGetMenuAuth clsAuth = new clsGetMenuAuth(Session["AdminUserID"].ToString(), Session["AutID"].ToString(),Session["IsAdmin"].ToString(), Request.QueryString["CodeID"]);

        if (clsAuth.IsDeleteAuth() == true)
            pDel_mk = "Y";
        if (clsAuth.IsUpdateAuth() == true)
            pUpd_mk = "Y";
        if (!IsPostBack)
        {
            if (clsAuth.IsAddAuth() == false)
                btnAdd_Catalogue.Visible = false;
            txtTenTheLoai.Attributes.Add("onkeydown", "if(event.which || event.keyCode){if ((event.which == 13) || (event.keyCode == 13)) {document.getElementById('" + btnSearch.ClientID + "').click();return false;}} else {return true}; "); 

            BindTopic();
            BinData();
        }
    }
    protected void btnAdd_Catalogue_Click(object sender, EventArgs e)
    {
        Response.Redirect("AddCatalogue.aspx?CodeID=" + Request.QueryString["CodeID"]);
    }

    private void BindTopic()
    {
        clsWebShop cls = new clsWebShop();
        ddlChuDe.DataSource = cls.Get_TopicNoneProc();
        ddlChuDe.DataValueField = "TopicID";
        ddlChuDe.DataTextField = "TopicName";
        ddlChuDe.DataBind();
        ddlChuDe.DataBind();
        ListItem item = new ListItem();
        item.Text = "-- Chọn chủ đề --";
        item.Value = "0";
        ddlChuDe.Items.Insert(0, item);
        FindValueDLL(ddlChuDe, Request.QueryString["sTopicID"]);
    }

    private void FindValueDLL(DropDownList ddl, string value)
    {
        if (value != "" && value != null)
            ddl.Items.FindByValue(value).Selected = true;
    }

    protected DataTable Bind_Edit_DropList_Menu()
    {
        clsWebShop cls = new clsWebShop();
        DataTable dt = new DataTable();
        dt = cls.GetData("select DISTINCT * from Topic order by TopicName").Tables[0];
        return dt;
    }
    private void BinData()
    {
        PccMsg msg = new PccMsg();
        msg.CreateFirstNode("CatName", txtTenTheLoai.Text.Trim());
        msg.CreateFirstNode("TopicID", ddlChuDe.SelectedValue);
        clsWebShop cls = new clsWebShop();
        DataSet ds = null;
        ds = cls.Get_CatalogueByCondition(msg.GetXmlStr);
        grv_Master.DataSource = ds;
        grv_Master.DataBind();

    }
    protected void grv_Master_RowCreated(object sender, GridViewRowEventArgs e)
    {
        /*for (int i = 0; i < grv_Master.Rows.Count - 1; i++)
        {
            System.Web.UI.WebControls.WebControl myControl = grv_Master.Rows[i].Cells[1];
            myControl.Attributes.Add("onclick", "if(confirm('Delete???')) return true; return false;");
        }*/


    }
    protected void grv_Master_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
            e.Row.Cells[0].ColumnSpan = 2;
            e.Row.Cells.RemoveAt(1);
        }
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[1].Attributes.Add("onclick", "if(confirm('Delete???')) return true; return false;");

            //Truong hop xoa
            if (pDel_mk != "Y")
            {
                e.Row.Cells[1].Text = "";
                e.Row.Cells[1].Attributes.Add("onclick", "javascript:return false;");
            }
            //Truong hop Update
            if (pUpd_mk != "Y")
            {
                e.Row.Cells[0].Text = "";
                e.Row.Cells[0].Attributes.Add("onclick", "javascript:return false;");
            }

            if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
            {
                Label lblLevelMenu = (Label)e.Row.FindControl("lblLevelMenu");
                lblLevelMenu.Text = DataBinder.Eval(e.Row.DataItem, "TopicName").ToString();


                CheckBox chkViewChose = new CheckBox();
                chkViewChose = (CheckBox)e.Row.FindControl("chkViewChose");
                if (DataBinder.Eval(e.Row.DataItem, "ShowMK").ToString() == "Y")
                    chkViewChose.Checked = true;
                else
                    chkViewChose.Checked = false;
            }
            else if (e.Row.RowState == DataControlRowState.Edit || e.Row.RowState == (DataControlRowState)5)
            {
                DropDownList ddlLevelMenu = (DropDownList)e.Row.FindControl("ddlLevelMenu");
                ddlLevelMenu.Items.FindByValue(DataBinder.Eval(e.Row.DataItem, "TopicID").ToString()).Selected = true;


                CheckBox chkEditChose = new CheckBox();
                chkEditChose = (CheckBox)e.Row.FindControl("chkEditChose");
                if (DataBinder.Eval(e.Row.DataItem, "ShowMK").ToString() == "Y")
                    chkEditChose.Checked = true;
                else
                    chkEditChose.Checked = false;
            }


        }



    }
    protected void btnSearch_Click(object sender, EventArgs e)
    {
        BinData();
    }
    protected void grv_Master_RowEditing(object sender, GridViewEditEventArgs e)
    {
        grv_Master.EditIndex = e.NewEditIndex;
        BinData();
    }
    protected void grv_Master_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        grv_Master.EditIndex = -1;
        BinData();
    }
    protected void grv_Master_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {

        CheckBox chkEditChose = (CheckBox)grv_Master.Rows[e.RowIndex].FindControl("chkEditChose");
        TextBox txtETenMn = (TextBox)grv_Master.Rows[e.RowIndex].FindControl("txtETenMn");
        DropDownList ddlLevelMenu = (DropDownList)grv_Master.Rows[e.RowIndex].FindControl("ddlLevelMenu");
        PccMsg msg = new PccMsg();

        msg.CreateFirstNode("CatID", grv_Master.DataKeys[e.RowIndex].Value.ToString());
        msg.CreateFirstNode("TopicID", ddlLevelMenu.SelectedValue);
        msg.CreateFirstNode("CatName", txtETenMn.Text.ToString());
        msg.CreateFirstNode("Status", "N");
        msg.CreateFirstNode("UpdID", "0");

        clsWebShop cls = new clsWebShop();
        cls.Upd_Catalogue(msg.GetXmlStr.ToString());


        //  ClientScript.RegisterClientScriptBlock(Me.GetType, "", "<script>alert('Dữ liệu đã cập nhật thành công')</script>");
        grv_Master.EditIndex = -1;
        BinData();
    }
    protected void grv_Master_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        clsWebShop cls = new clsWebShop();
        PccMsg msg = new PccMsg();
        msg.CreateFirstNode("CatID", grv_Master.DataKeys[e.RowIndex].Value.ToString());
        cls.Del_Catalogue(msg.GetXmlStr.ToString());
        ClientScript.RegisterClientScriptBlock(this.GetType(), "", "<script>alert('Dữ liệu đã cập nhật thành công')</script>");
        BinData();
    }
    protected void btnSearch_Click1(object sender, EventArgs e)
    {
        BinData();
    }
    protected void ddlChuDe_SelectedIndexChanged(object sender, EventArgs e)
    {
        BinData();
    }
    protected void grv_Master_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        grv_Master.PageIndex = e.NewPageIndex;
        BinData();
    }
}
